home *** CD-ROM | disk | FTP | other *** search
/ Windows News 2005 February / WN_129_CD.iso / Windows / Extensions Firefox / Extension Uninstaller / extuninstallapiFr-02.xpi / install.js < prev   
Encoding:
Text File  |  2004-06-07  |  1.8 KB  |  63 lines

  1.  
  2. const gName            = "Extension Uninstaller API";
  3. const gAuthor        = "Jeremy Gillick";
  4. const gRegKey        = "/JeremyGillick/ExtUninstallApi";
  5. const gVersion        = "0.1";
  6. const gJar            = "extuninstallapi.jar";
  7.  
  8. var    error             = null;
  9. var oFolder            = getFolder("Current User", "chrome");
  10. var iContentFlag    = CONTENT | PROFILE_CHROME;
  11. var iLocaleFlag        = LOCALE | PROFILE_CHROME;
  12.  
  13.  
  14. // Don't install if it current or older
  15. var iCurrent = InstallTrigger.compareVersion(gRegKey, gVersion);
  16. if(iCurrent > -1){
  17.     cancelInstall(0);
  18. }
  19.  
  20. //Install in App or Profile?
  21. var existsInApplication = File.exists(getFolder(getFolder("chrome"), gJar));
  22. var existsInProfile     = File.exists(getFolder(oFolder, gJar));
  23. if(existsInApplication || (!existsInProfile && !confirm(gName +"\nSouhaitez-vous installer cette extension dans le dossier profil ?\n(Annuler pour installer dans le dossier de l'application)")))
  24. {
  25.     iContentFlag    = CONTENT | DELAYED_CHROME;
  26.     iLocaleFlag        = LOCALE | DELAYED_CHROME;
  27.     oFolder         = getFolder("chrome");
  28. }
  29.  
  30. //Uninstall Existing
  31. if(existsInApplication || existsInProfile)
  32.     uninstall(gRegKey);
  33.  
  34. //Init
  35. initInstall(gName, gRegKey, gVersion);
  36. setPackageFolder(oFolder);
  37. error = addFile(gAuthor, gVersion, gJar, oFolder, null);
  38.  
  39. //Register
  40. if(error == SUCCESS){
  41.     registerChrome(iContentFlag, getFolder(oFolder, gJar), "content/");
  42.     
  43.     error = performInstall(); //Install
  44.     
  45.     if(error != SUCCESS && error != 999){
  46.         switch(error){
  47.             case -215:
  48.                 alert("\u00c9chec de l'installation.\nUn des fichiers \u00e9cras\u00e9s est en lecture seule.");
  49.                 break;
  50.             case -235:
  51.                    alert("\u00c9chec de l'installation.\nL'espace disque est insuffisant.");
  52.                 break;
  53.             default: 
  54.                 alert("\u00c9chec de l'installation.\nLe code erreur est : " + error);
  55.         }
  56.         cancelInstall(error);
  57.     }
  58. }
  59. else{
  60.     alert("\u00c9chec de l'installation.\n" + error);
  61.     cancelInstall(error);
  62. }
  63.